﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity.ModelConfiguration;

namespace PlanoAula.BD
{
    [Table("PlanoAula")]
    public class PlanoAulaCab : TabelaBD
    {
        [Required]
        public string Curso { get; set; }
        [Required]
        public string Materia { get; set; }

        public int? Semestre { get; set; }

        public int? Ano { get; set; }

        public int? CargaHoraria { get; set; }

        [Required]
        public string Professor { get; set; }

        public DateTime De { get; set; }

        public DateTime Ate { get; set; }

        public string ObjetivoGeral { get; set; }

        public string ObjetivoEspecifico { get; set; }

        
        [Required]
        public Guid UniversidadeId { get; set; }
        public virtual Universidade Universidade { get; set; }

        public virtual ICollection<PlanoAulaDetalhe> PlanoAulaDetalhes { get; set; }

        public virtual ICollection<DiaAula> DiaAulas { get; set; }

        public virtual ICollection<UnidadeAvaliacao> UnidadeAvaliacao { get; set; }

    }

    public class PlanoAulaCabConfiguration : EntityTypeConfiguration<PlanoAulaCab>
    {
        internal PlanoAulaCabConfiguration()
        {
            //this.HasRequired(p => p.Universidade)
            //    .WithMany(u => u.PlanoAulaCab)
            //    .HasForeignKey(d => d.UniversidadeId);

        }
    }
}
